UITextField

UITextField的基本用法

  • 初始化textfield并设置位置及大小
    UITextField * text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];
    
  • 设置边框样式,只有设置了才会显示边框样式
    text.borderStyle = UITextBorderStyleRoundedRect;
    /*
        typedef enum {
       UITextBorderStyleNone,
       UITextBorderStyleLine,
       UITextBorderStyleBezel,
       UITextBorderStyleRoundedRect
       } UITextBorderStyle;
    */
    
  • 设置输入框的背景颜色,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉
    text.backgroundColor = [UIColor whiteColor];
    
  • 设置背景
    text.background = [UIImage imageNamed:@"dd.png"];
    // text.disabledBackground = [UIImage imageNamed:@"cc.png"];
    
  • 当输入框没有内容时,水印提示 提示内容为password
    text.placeholder = @"password";
    
  • 设置输入框内容的字体样式和大小
    text.font = [UIFont fontWithName:@"Arial" size:20.0f];
    
  • 设置字体颜色
    text.textColor = [UIColor redColor];
    
  • 输入框中是否有个叉号,在什么时候显示,用于一次性删除输入框中的内容
    text.clearButtonMode = UITextFieldViewModeAlways;
    /*
       typedef enum {
       UITextFieldViewModeNever, 重不出现
       UITextFieldViewModeWhileEditing, 编辑时出现
       UITextFieldViewModeUnlessEditing, 除了编辑外都出现
       UITextFieldViewModeAlways  一直出现
       } UITextFieldViewMode;
    */
    
  • 每输入一个字符就变成点 用语密码输入
    text.secureTextEntry = YES;
    
  • 是否纠错
    text.autocorrectionType = UITextAutocorrectionTypeNo;
    /*
       typedef enum {
       UITextAutocorrectionTypeDefault, 默认
       UITextAutocorrectionTypeNo,  不自动纠错
       UITextAutocorrectionTypeYes, 自动纠错
       } UITextAutocorrectionType;
    */
    
  • 再次编辑就清空
    text.clearsOnBeginEditing = YES;
    
  • 内容对齐方式
    text.textAlignment = UITextAlignmentLeft;
    
  • 内容的垂直对齐方式
    /*
    UITextField继承自UIControl,此类中有一个属性contentVerticalAlignment
    */
      text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
    
  • 设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动
    text.adjustsFontSizeToFitWidth = YES;
    
  • 设置自动缩小显示的最小字体大小
    text.minimumFontSize = 20;
    
  • 设置键盘的样式
    text.keyboardType = UIKeyboardTypeNumberPad;
    /*
       typedef enum {
       UIKeyboardTypeDefault,      默认键盘,支持所有字符
       UIKeyboardTypeASCIICapable, 支持ASCII的默认键盘
       UIKeyboardTypeNumbersAndPunctuation, 标准电话键盘,支持+*#字符
       UIKeyboardTypeURL,            URL键盘,支持.com按钮 只支持URL字符
       UIKeyboardTypeNumberPad,             数字键盘
       UIKeyboardTypePhonePad,   电话键盘
       UIKeyboardTypeNamePhonePad,  电话键盘,也支持输入人名
       UIKeyboardTypeEmailAddress,  用于输入电子 邮件地址的键盘
       UIKeyboardTypeDecimalPad,    数字键盘 有数字和小数点
       UIKeyboardTypeTwitter,       优化的键盘,方便输入@、#字符
       UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,
       } UIKeyboardType;
    */
    
  • 首字母是否大写
    text.autocapitalizationType = UITextAutocapitalizationTypeNone;
    /*
       typedef enum {
       UITextAutocapitalizationTypeNone, 不自动大写
       UITextAutocapitalizationTypeWords, 单词首字母大写
       UITextAutocapitalizationTypeSentences, 句子的首字母大写
       UITextAutocapitalizationTypeAllCharacters, 所有字母都大写
       } UITextAutocapitalizationType;
    */
    
  • return键变成什么键
    text.returnKeyType =UIReturnKeyDone;
    /*
       typedef enum {
       UIReturnKeyDefault, 默认 灰色按钮,标有Return
       UIReturnKeyGo,     标有Go的蓝色按钮
       UIReturnKeyGoogle,标有Google的蓝色按钮,用语搜索
       UIReturnKeyJoin,标有Join的蓝色按钮
       UIReturnKeyNext,标有Next的蓝色按钮
       UIReturnKeyRoute,标有Route的蓝色按钮
       UIReturnKeySearch,标有Search的蓝色按钮
       UIReturnKeySend,标有Send的蓝色按钮
       UIReturnKeyYahoo,标有Yahoo的蓝色按钮
       UIReturnKeyYahoo,标有Yahoo的蓝色按钮
       UIReturnKeyEmergencyCall, 紧急呼叫按钮
       } UIReturnKeyType;
    */
    
  • 键盘外观
    text.keyboardAppearance=UIKeyboardAppearanceDefault;
    /*
       typedef enum {
       UIKeyboardAppearanceDefault; 默认外观,浅灰色
       UIKeyboardAppearanceAlert;   深灰 石墨色
       } UIReturnKeyType;
    */
    
  • 让键盘下去的方法
//  touch事件提供的方法;此方法系统会自动调用,当手指触摸到手机屏幕上,会触发touch事件,一旦touch事件被触发,会自动调用此方法。
    - (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
    {
        //   (1) 让键盘下去的第一种方式
        //    让文本框结束编辑状态。endEditing:
        [self.window endEditing:YES];

        //   (2) 第二种方式:让文本框对象失去第一响应状态

        //    resign放弃Responder响应者
        [textField resignFirstResponder];
        //    [textField becomeFirstResponder];

    }

    //     第三种方式        添加事件
    /*
     [tf addTarget:<#(id)#> action:<#(SEL)#> forControlEvents:<#(UIControlEvents)#>];
     第一个参数:id对象类型,哪个对象执行绑定的方法 self
     第二个参数:<#(SEL)#>oc中的方法类型,绑定的方法名,方法名必须被@selector()包裹起来。 @selector()方法选择器
     第三个参数:控制事件,
     UIControlEventEditingDidEndOnExit。此事件当点击键盘上的return键时,会触发此事件,此事件一旦触发,self会调用绑定的keyBoardDown方法。
     */
    [tf addTarget:self action:@selector(keyBoardDown) forControlEvents:UIControlEventEditingDidEndOnExit];

    // 绑定的方法
    - (void)keyBoardDown
    {
        NSLog(@"    ");
    }
}

results matching ""

    No results matching ""